1. Field of the Invention
The present invention is directed to assigning priorities to requests that manipulate (e.g., update or copy) data.
2. Description of the Related Art
Disaster recovery systems typically address two types of failures, a sudden catastrophic failure at a single point in time or data loss over a period of time. In the second type of gradual disaster, updates to volumes on data storage may be lost. To assist in recovery of data updates, a copy of data may be provided at a remote location. Such dual or shadow copies are typically made as the application system is writing new data to a primary storage device at a primary storage subsystem. The copies are stored in a secondary storage device at a secondary storage subsystem.
Typically, priorities are assigned to requests that manipulate (e.g., update or copy) data in volumes stored in the primary storage device. The requests may also be referred to as I/O requests. Since the priority assigned to each request is used by a resource manager at the primary and secondary storage subsystems to govern how resources (e.g., processor power for processing the I/O requests, memory for storing data, and hardware to perform data movement) should be allocated to execute a request, if the same request is processed in the primary and secondary storage subsystems with different priorities, the resources in both the primary may not be efficiently managed and can cause resource constraints.
For example, if the primary storage subsystem handles certain requests with high priority, and the secondary storage subsystem handles the same requests with a lower priority, these requests may not be able to finish within a reasonable amount of time because they will be waiting for the secondary storage subsystem to complete requests with higher priority.
Thus, even though most of the resources in the primary storage subsystem are dedicated to handle these requests, they are treated differently at the secondary storage subsystem.
On the other hand, when the primary storage subsystem handles certain requests with low priority, and the secondary storage subsystem handles these requests with a higher priority, the secondary storage subsystem may not have enough resources to finish higher priority requests from the primary storage subsystem in a reasonable amount of time.
Thus, there is a need in the art for storage subsystems to effectively manage their resources to reduce I/O response time and increase overall system throughput.